import 'reflect-metadata';
import './env/index';
import app from './app';
import { logger } from './utils/logger';
import { initializeDatabase } from './config/database';

const PORT = process.env.PORT || 3000;

// 异步启动服务函数
const startServer = async () => {
  try {
    // 等待数据库初始化完成
    await initializeDatabase();
    
    // 启动服务器
    app.listen(PORT, () => {
      logger.info(`服务已启动, 端口号: ${PORT}`);
    });
  } catch (error) {
    logger.error('服务启动失败:', error);
    process.exit(1);
  }
};

// 启动服务
startServer(); 